声明

本文是学习GB-T 33736-2017 手机支付 基于2.45GHz RCC 限域通信 技术的非接触射频接口技术要求. 而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们

7 数据链路层

7.1 磁通道

7.1.1 帧结构关系

磁通道数据链路层帧分为逻辑帧、物理帧,如图9所示。逻辑帧定义了磁通道数据的逻辑结构,通

GB/T 33736—2017

过对逻辑帧数据进行位填充,并增加同步码形成在磁通道上传输的物理帧。

逻辑帧MCF

同步码

位填充码

9 逻辑帧和物理帧的关系

7.1.2 物理帧

7.1.2.1 同步码

用于磁通道数据帧同步的位序列;字段长度:9比特;同步码的值为:111111110b。

7.1.2.2 位填充码

从逻辑帧起始处开始向后检索,出现位流1111111b
时,填充1位"0"形成11111110b。

7.1.2.3 物理帧帧间空闲

如果在磁通道上任意两个有效物理帧位流之间存在空闲时间间隔,则发起方应发送全"1"比特流填

充序列。

7.1.3 逻辑帧

7.1.3.1 MCF 帧结构

MCF
采用变长编码格式,其帧结构包括:控制域(包括帧类型、帧数据长度)、MCF
数据域、CRC 校

验,如图10所示。

style="width:8.00694in;height:3.84722in" />

图10 MCF 帧格式

7.1.3.2 MCF 控制域

MCF 控制域如表4所示。

GB/T 33736—2017

4 MCF 控制域

字段

长度/位

定义值

说明

ToF

4

0000b~1110b:磁基本帧

帧类型,用于标识不同类型的磁通道帧,

包括直接用于传输MCM的磁通道基本

帧,用于传输MCMe的磁通道扩展帧

1111b:磁扩展帧

DataLen

4

0000b~1111b

帧数据域的字节长度

7.1.3.3 MCF 数据域

MCF 数据域如表5所示。

5 MCF 数据域

字段

长度/字节

定义值

说明

MC Data

由DataLen字

段值定义

帧数据

MCF中传输的数据

7.1.3.4 MCF 校验

MCF 校验如表6所示。

6 MCF 校验

字段

长度/位

定义值

说明

CRC-8

8

00h~FFh

帧校验,表示MCF的8位CRC校验码。

CRC-8计算方法如下:

——MCF帧的CRC-8计算包含了帧结

构中的控制域和数据域;

— — 8位CRC校验的多项式是:X⁵+

X²+X+1;

—8位CRC校验初始值为:00h

7.2 射频通道

7.2.1 RF 帧定义

7.2.1.1 RCF 帧结构

RCF
采用变长编码格式,其帧结构包括:前导码、地址、控制域(包括数据长度、帧标识、应答标识)、

数据域、CRC 校验,如图11所示。

GB/T 33736—2017

前导

地址

控制域

数据域

CRC校验

数据长度

帧标识

应答标识

RF Preambke

Address

RF Dalal.en

Framell)

AckFlag

RFDala

CRC-16

10101010b 01010101b

40位

6位

2位

1位

0~32字节

16位

MSB L.SI3

图11 RCF 编码格式

7.2.1.2 RCF 前导域

RCF 前导域如表7所示。

7 RCF 前导域

字段

长度/位

定义值

说明

RF Preamble

8

01010101b:如果地址Address域最高

位为0,则RCF前导码为01010101b

前导码,用于RCF同步

10101010b:如果地址Address域最高

位为1,则RCF前导码为10101010b

7.2.1.3 RCF 地址域

RCF 地址域如表8所示。

8 RCF 地址域

字段

长度/位

定义值

说明

Address

40

0000000000h~FFFFFFFFFFh

用于RCF接收的识别地址

RCF 控制域如表9所示。

9 RCF 控制域

字段

长度/位

定义值

说明

RF DataLen

6

000000b~100000b

数据长度,表示RCF数据(含RCF数据的包头字

节)的字节长度。

RF DataLen为0的帧仅限用于RF通道的ACK

FramelD

2

00b~11b

帧标识,用于区分不同的RCF。相邻不同RCF

的帧标识应当不同

AckFlag

1

0b:RCF的接收方不发送ACK

应答标识,用于RCF的接收方判断是否应当发

送 A C K

1b:RCF的接收方自动发送一 个ACK

GB/T 33736—2017

7.2.1.4 RCF 数据域

RCF 数据域如表10所示。

表10 RCF 数据域

字段

长度/字节

定义值

说明

RF Data

由RF DataLen

字段值定义

帧数据

表示在RCF中传输的数据

7.2.1.5 RCF 校验

RCF 校验如表11所示。

表11

style="width:0.55995in;height:0.5467in" />

RCF 校验

字段

长度/位

定义值

说明

CRC-16

16

0000h~FFFFh

帧校验表示RCF的16位CRC校验码。

CRC-16计算方法定义如下:

— —MCF帧的CRC- 16计算包含了 RCF结构中除前导RF Preamble

和CRC-16本身之外所有的域;

— 16位CRC校验的多项式是:X¹

+X¹²+X⁵+1;

— 16位CRC校验初始值为:FFFFh

7.2.2 帧的类型

7.2.2.1 数据帧

按 RCF 帧结构编码,其中AckFlag 为1,表示需要 RCF 的接收方自动发送一个
ACK。

7.2.2.2 应答帧

按 RCF 帧结构编码,其中 RF DataLen 为 0 ,AckFlag 为0,无RF Data。

7.2.3 组帧与解帧

7.2.3.1 组帧

RCF
组帧过程如图12所示。按照规定的帧结构将数据组织在一起形成一个帧,并经过物理层处

理后形成射频信号,然后进行发送。帧的发送顺序为最先发送前导域,最后发送CRC
校验域。

7.2.3.2 解帧

RCF
解帧过程如图13所示。将物理层接收到的射频信号解调成数字单比特信号后,按照帧结构

进行解析,解出有效的帧数据。

GB/T 33736—2017

style="width:2.56042in;height:16.03403in" />

1 2 组帧过程

GB/T 33736—2017

style="width:2.86736in;height:16.82014in" />style="width:2.86736in;height:16.82014in" />

图13 解帧过程

GB/T 33736—2017

7.2.4 帧的收发

7.2.4.1 帧收发时序图

style="width:9.45347in;height:4.02917in" />style="width:0.13326in;height:0.15334in" />

图14 射频帧收发处理时序图

7.2.4.2 发射-接收转换时间

发送方在完成数据帧发送后,应在t₁ 时间内切换到应答帧接收状态(t₁ ≤130
μs)。

7.2.4.3 接收-应答转换时间

接收方在收到一个数据帧后,应在t₂
时间内发送一个应答帧进行响应(130μs\<t₂ \<150 μs)。

7.2.4.4 帧传输

帧的传输过程包括一个数据帧发送和一个应答帧接收。发送方发送一个数据帧,并在t₁
时间内切
换到应答帧接收状态,如果成功接收到应答帧,则判断一次帧传输成功。如果未接收到应答帧则判断帧

传输失败。帧的发送处理过程如图15所示。

接收方在收到相同的数据帧后,应当丢弃并继续接收。帧的接收处理过程如图16所示。

style="width:6.26667in;height:12.18056in" />

1 5 帧的发送处理

GB/T 33736—2017

GB/T 33736—2017

style="width:5.67361in;height:11.44028in" />

图16 帧的接收处理

8 传输层

8.1 包格式

8.1.1 磁通道 MCP 格式

MCP 采用变长编码格式,包括 MCP 头和 MCP 数据两个部分,如图17所示。

GB/T 33736—2017

MCP头

MCP数据

图17 MCP 编码格式

MCP 头如表12所示。

表12 MCP

字段

长度/位

定义值

说明

Rfu

2

00b

保留,缺省为00b

EoP

1

0b:非最末包

末包标识,用于区分本MCP是否为最

后一个包

1b:最末包

PacketNo

5

00000b:为第1个包

包号,表示MCP包序列的顺序编号,最

多支持32个包

00001b:为第2个包

00010b:为第3个包

....

11111b:为第32个包

MCP 数据域如表13所示。

表13 MCP 数据域

字段

长度/字节

定义值

说明

Packet Data

1~ 14

包数据

MCP包的有效数据

8.1.2 射频通道 RCP 格式

RCP 采用变长编码格式,包括 RCP 头和 RCP 数据两个部分,如图18所示。

GB/T 33736—2017

RCP头

RCP数据

图18 RCP 编码格式

RCP 头如表14所示。

表14 RCP

字段

长度/位

定义值

说明

Rfu

2

00b

保留,缺省为00b

EoP

1

0b:非最末包

1b:最末包

末包标识,用于区分本RCP是否为最后

一个包

PacketNo

5

00000b:为第1个包

包号,表示RCP包序列的顺序编号,最

多支持32个包

00001b:为第2个包

00010b:为第3个包

. ..

11111b:为第32个包

RCP 数据域如表15所示。

表15 RCP 数据域

字段

长度/字节

定义值

说明

Packet Data

1~ 31

包数据

RCP包的有效数据

8.2 包传输

采用顺序分包方式传递一个 MCMe 消息或 RCM 消息。

首包序号为0,发送方从首包开始按包序号递增顺序逐包发送,接收方收到数据包后按顺序重新组

合成一个完整的消息。

消息分包方式如图19所示。

发送消息

发送;0号分包

发送:1号分包

发送:2号分包

. …,

发送: 消息末包

图19 协议消息的分包方式

包的发送处理过程如图20所示。

GB/T 33736—2017

style="width:7.78056in;height:11.86042in" />

图20 包的发送处理

接收方收到数据包后按顺序重新组合成一个完整的消息。

接收方收到的 RCP 包与当前已收到的RCP
包的包号相同时,应当丢弃并继续接收。

包的接收处理过程如图21所示。

GB/T 33736—2017

style="width:6.52666in;height:11.09988in" />开始接收

接收超时?

包号重复? 丢弃该包

包号正确?

解出包数据块

末包?

组合成消息

结束

图21 包的接收处理

9 会话层

9.1 消息

9.1.1 短消息格式

短消息格式(SMF) 用于传输 MCM 消息。 SMF 格式如图22所示。

GB/T 33736—2017

消息头

消息体

消息码

消息长度

有效数据域

MsgCode

Msglen

MsgData

4位

4位

0~15字节

MSB L.SB

图22 SMF 格式

SMF 消息头如表16所示。

表16 SMF 消息头

字段

长度/位

定义值

说明

MsgCode

4

0000b~1111b

消息码,用于标识一个短格式消息

MsgLen

4

0000b~1111b

消息长度,表示消息体的字节长度

SMF 消息体如表17所示。

表17 SMF 消息体

字段

长度/字节

定义值

说明

MsgData

由MsgLen字段值定义

消息数据

用于承载消息所要传递的有效数据

9.1.2 长消息格式

长消息格式(LMF) 用于传输 RCM 消息和 MCMe 消息。 LMF 格式如图23所示。

消息头

消息体

消息校验

保留

消息格 式类型

发方状态

消息码

消息长度

有效数据域

检查和

Rfu

Formal Type

Status

MsgCode

MsgLen

MsgData

CheckSum

4位

4位

8位

8位

16位

N字节

16位

MSB LSB

2 3 LMF 格式

LMF 消息头如表18所示。

GB/T 33736—2017

表18 LMF 消息头

字段

长度/位

定义值

说明

Rfu

4

0000b

保留位,缺省为0000b

FormatType

4

000b~0111b:私有格式

表示消息的编码格式类型

1000b:本编码格式

1001b~1111b:保留

Status

8

00h:正常

发送方状态,表示消息发送方的当前

状态

01h:连接异常

02h:响应方在RF发送时移出允许的 交易距离范围

82h:响应方在RF接收时移出允许的

交易距离范围

D0h~FFh:自定义状态

其他:保留

MsgCode

8

10h~FFh

消息码,用于标识一个长格式消息

MsgLen

16

0~288

表示消息体的字节长度(不包含消息校

验字节)

LMF 消息体如表19所示。

表19 LMF 消息体

字段

长度/字节

定义值

说明

MsgData

由MsgLen字段值定义

消息数据

用于承载消息所要传递的有效数据

LMF 消息校验如表20所示。

表20 LMF 消息校验

字段

长度/字节

定义值

说明

CheckSum

2

消息校验和

用于对消息头和消息体数据进行

CheckSum校验

9.1.3 消息码定义

本标准定义的消息码如表21所示。

表21 消息码定义

序号

消息

说明

消息码

备注

MC消息

1

INQUIRY

激活请求消息

0

GB/T 33736—2017

表21 (续)

序号

消息

说明

消息码

备注

2

1

保留

3

CHECK1 REQ

冲突检测请求消息

2

4

CHECK2 REQ

连接确认请求消息

3

5

4~11

保留

6

12~14

自定义

7

15

MC扩展消息

RF消息

1

ATI

激活响应消息

16

2

CONNECT REQ

连接请求消息

17

3

CONNECT RSP

连接响应消息

18

4

APDATA REQ

数据交换请求消息

19

5

APDATA RSP

数据交换响应消息

20

6

21

保留

7

LINKCTL REQ

维持连接请求消息

22

8

LINKCTL RSP

维持连接响应消息

23

9

CHECK1 RSP

_

冲突检测响应消息

24

10

LTW

响应方要求等待消息

25

11

CLOSE REQ

关闭连接请求消息

26

12

CLOSE RSP

关闭连接响应消息

27

13

28~239

保留

14

240~255

自定义

9.2 协议会话流程

9.2.1 会话流程图

发起方与响应方之间的基本通信会话流程如图24所示。

发起方在连接和交易过程中应维持磁场存在,响应方在发送任何响应之前,应确定其处于设定的磁

场强度范围内。

会话层消息的发送方在消息发送完成后应当立即转换为消息接收状态,并按照会话命令规定的时

间内进行接收。

GB/T 33736—2017

style="width:12.34673in;height:10.39346in" />发起方

INQUIRY

CONNECT REQ

响应方2

响应方

发起方半次交易性一识别信总 IDm

磁通道

响应方随机IDs及物理标识码TargetID

ATI

RF送道(按热IDm 设置物埋工作频点及趋信配置地址)

确认接入接收信息、发起方物理InitiatorlD

RF还道(按照IDs设置物进工作频点及通位配置地址)

角认接入信息

RF近送(按照IDs没置物斗工作频点及通信配置地址)

激活阶段:

接收磁信道消息并激 活 RF证道

接入阶段:

磁场强度范用 内建立连接

方冲突

CHECK1 RSP

style="width:1.31342in;height:0.75988in" />

冲突俭测请求号CDC

磁通道

链路密文数据

RF通道(按照IDs设置物理工作频点及通信配置地址)

交易介段:

链路密文数据

APDATA RSP

RF通道(按照IDs设置物理工作频点及通信配置地址)

rrr

维持连按请求

RF通道(按照IDs设置物理工作频点及通信配置地址)

维持连接响应

LINKCTL RSP

RF通逆(按照IDs设置物律工作频点及通信配置地址)

style="width:0.1866in" />

链路密文数据

RF通逆(按照IDs设置物理工作频点及通信配置地址)

链路密文数据

RF通道(按照IDs设置物理工作频点及通信配置地址)

aOSEa

关闭连接

RF通送(按照IDs设置物甲工作频点及通信配置地址)

关闭响应

RF通道(按照IDs没置物涩工件频点及通信配置地址)

结束,断开链接

CLOSE RSP

_

图24 基本会话流程

协议会话的工作流程通常包括激活、接入、交易、结束四个阶段。

9.2.2 激活阶段

激活阶段各操作如下:

发起方操作:

● 发起方在激活阶段通过磁通道发送 INQUIRY, 然 后 通 过 RF 通 道 接 收
ATI。

● 发起方在发送 INQUIRY 之前,根据自己生成的 IDm 计算激活响应(ATI)
频点并确认该频点 是否可用,如果该频点当前已被占用,则需要重新生成 IDm
直到选择的 ATI 频点空闲为止。

● 发起方如果接收到错误的 ATI 、或 者 ATI 中 的 Mac
验证失败、或者接收超时(>8 ms), 则 发送新的 INQUIRY。

● 发起方在接收到第 一 个正确的 ATI 之后进入接入阶段。

响应方操作:

● 响应方在激活阶段通过磁通道接收 INQUIRY, 然 后 通 过 RF 通道发送
ATI。

● 响应方如果接收到错误的 INQUIRY 或者未接收到 INQUIRY, 则继续接收
INQUIRY。

● 响应方在接收到第 一 个正确的 INQUIRY 之后被激活,然后在8 ms 内 通 过
RF 通 道 做 出

ATI 响 应 。

GB/T 33736—2017

● 响 应 方 在 发 送 ATI 之前,根据自己生成的 IDs
计算后续接入/交易频点并确认该频点是否可
用,如果该频点当前已被占用,则需要重新生成 IDs
直到选择的接入/交易频点空闲为止。

● 响 应 方 在 发 送 完 ATI 之 后 进 入 接 入 阶 段 。

— 处 理 流 程 :

激 活 阶 段 处 理 流 程 如 图 2 5 所 示 。

发起方 响应方

style="width:8.95998in;height:9.10008in" />空闲

空闲

发送

INQUIRY

消息

接收

All

消息

收到

INQUIR Y

消 息 》

收到

CHECK1 REQ

消 息 ?

否 8ms 内收到

ATI消息?

发送

ATI

消息

冲突处理机制

MAC 验证

正确?

接入阶段

接入阶段

2 5

9.2.3 接 入 阶 段

接入阶段各操作如下 :

— 发 起 方 操 作 :

● 发 起 方 在 接 入 阶 段 通 过 RF 通 道 发 出CONNECT REQ
连接请求,然后通过 RF 通 道 接 收 CONNECT RSP 响 应 。

● 发 起 方 如 果 接 收 到 错 误 的 CONNECT RSP 或 者 接 收 超 时 ( >
8 ms), 则 返 回 激 活 阶 段 。

● 发 起 方 在 接 收 到 第 一 个 正 确 的 CONNECT RSP 之 后 进 入 交 易
阶 段 。 _

响 应 方 操 作 :

● 响 应 方 在 接 入 阶 段 通 过 RF 通 道 接 收 CONNECT REQ, 然 后 通
过 RF 通 道 发 送 CONNECT RSP 进 行 响 应 。

● 响 应 方 如 果 接 收 到 错 误 的 CONNECT REQ 或 者 接 收 超 时 ( > 8
ms), 则 返 回 到 激 活 阶 段 。

GB/T 33736—2017

● 响 应 方 在 发 送 完 CONNECT RSP 之后进入交易阶段。 _

——处理流程:

接入阶段处理流程如图26所示。

发起方

style="width:10.69332in;height:10.4599in" />接入阶段

发送

CONNECT RHQ

消息

响应方

接入阶段

8 ms内收到

CQNNECT REQ

消息?

接收

CONNECT RSP

消息

发送

CONNECT RSP

_

消息

8 ms内收到

激活阶段

CONNECT

消息?

激活阶段

连接成功?

合法连接?

足 是

交易阶段

交易阶段

图26 接入阶段处理流程

9.2.4 交易阶段

9.2.4.1 数据交换

数据交换各操作如下:

— 发起方操作:

● 发起方在交易阶段通过 RF 通 道 发 送 APDATA REQ 数据交换请求,然后通过
RF 通 道

接收 APDATA RSP 响应或者 LTW 长时等待消息。

● 发 起 方 如 果 接 收 到 错 误 的 APDATA RSP/LTW 阶段。

● 发起方如果接收到正确的 APDATA RSP/LTW,

_

或 者 接 收 超 时 ( > 5 0 0 ms), 则 返 回 激 活

则继续维持交易阶段。

GB/T 33736—2017

响应方操作:

● 响应方在交易阶段等待接收 APDATA REQ, 解析和执行封装在 APDATA REQ 中
的 APDU 命令,然后把对 APDU 命令的响应封装在 APDATA RSP
中发送给发起方。

● 响应方如果接收到错误的 APDATA REQ 或者接收超时(>100 ms),
则返回激活阶段。

● 响应方应该在500 ms 内发送 APDATA RSP, 或 者 LTW
长时等待消息给发起方。

● 响应方在发送完 APDATA RSP 或 LTW 后,继续维持交易阶段。 _

— 处理流程:

数据交换处理流程如图27所示。

style="width:12.13339in;height:12.54682in" />发起方 响应方

交易阶段

交易阶段

激活阶段

空闲超过44 ms?

维持链路处理

有APDU

数据?

发送

APDATA RF()

消总

接收

APTATA RSP

消息

100 ms内收到

APDATA REQ

消息?

距离监测

止常?

发送APDAIA 异常响应消息 (状态:0x82)

转发APDATA

到应用处理

600my 内收到

APDATA RSP

消息?

处理完成?

激活阶段

转发APDU 执行 结果到应用处理

消息状态

异常?

消息状态为0x02?

发送APDATA 异常响应消息 (状态:0x02)

发送

APDATA RSP

_

消息

结束阶段

结束阶段

2 7 数据交换处理流程

GB/T 33736—2017

9.2.4.2 链路维持

链路维持各操作如下:

— — 发起方操作:

● 发起方在交易阶段的空闲时间里应当每隔44 ms 通 过 RF 通道发送 LINKCTL
REQ, 然

后通过 RF 通道接收 LINKCTL RSP 以维持连接。

● 发起方在发送 LINKCTL REQ 后,如果在8 ms 内接收到正确的 LINKCTL RSP
响应且

响应方状态正常,则继续维持与响应方的连接;如果发起方连续10次在发送
LINKCTL

REQ 后均无法正确收到 LINKCTL RSP
响应则认为响应方已断开连接,发起方返回激活

阶段。

响 应方操作:

● 响应方在交易阶段,每次从 RF 通道接收到正确的 LINKCTL REQ
命令请求时,均应在

8 ms内发送 LINKCTL RSP 做出响应。

● 响应方在交易阶段,如果接收到正确的 LINKCTL REQ
命令请求,并确认磁通道已收到 CHECK1 REQ 或 者 CHECK2 REQ 消息,且 CDC
或 者 TRI 正确无误,则应当更新响应 方连接状态为正常,并在8 ms 内发送
LINKCTL RSP 做出响应。

● 响应方在交易阶段,如果连续三次接收到正确的 LINKCTL REQ
命令请求而没有收到任 何 CHECK1 REQ 或 者 CHECK2 REQ
消息,则应当更新响应方连接状态为异常,并在

8 ms内发送 LINKCTL RSP 做出响应。

● 响应方如果接收到错误的 LINKCTL REQ, 或者超过100 ms
仍未接收到任何命令,则响

应方返回激活阶段。

— — 处理流程:

链路维持处理流程如图28所示。

GB/T 33736—2017

发起方

响应方

style="width:12.29324in;height:13.3067in" />交易阶段

交易阶段

冲突检测

使能?

启动发送

CHECK1 REQ

消息

发送

APDATA RTQ

消息

空闲时间 超过44 ms?

发送

LINKCTL REQ

消息

收到

L.INKC' RSP

消息

结束阶段

距离异常?

接收消息

100msA

收到消息?

LNKCT. REO

消息?

收到

CHECK1/2 RTO

_

消 息 ?

发送

IINKCTL. RSP

消息

距离异常

是 连续次数\<109

次数增加1

发送异常

LINKCTL RSP

消总

激活阶段

结束阶段

图28 链路维持处理流程

9.2.4.3 冲突检测

当发起方检测到 MTC
冲突发生时,发起方不能进行任意一个响应接入,且应结束与当前响应方的

连接。 MTC 冲突如图29所示。各操作如下:

GB/T 33736—2017

style="width:8.13996in;height:5.00016in" />发起方1

CHECK REQ

响应方2

2 9 MTC 冲突

发起方操作:

● 发起方可以通过外部配置确定是否支持 MTC 冲突检测。

● 支持冲突检测的发起方在建立连接后的整个交易阶段通过磁通道持续发送
CHECK1 REQ 消息。

● 发起方建立连接后,在射频通道空闲期间(没有维持连接和 APDU 收 发 任 务
时 ) 以 t₂ (t₂ ≥4ms) 为 一
个最小接收时间单元,持续于冲突响应信道上接收 CHECK1 RSP

消息。

● 发 起 方 如 果 接 收 到 CHECK1 RSP, 并 且 其 中 TargetID 字 段 与 当
前 连 接 的 响 应 方 TargetID 不相符,则认为发生了 MTC 冲突。

● 当发起方检测到 MTC 冲突后,应当立即发送 CLOSE REQ
指令,结束与当前响应方的

连接。

响应方操作:

● 响应方在未连接状态下通过磁通道接收到CHECK1 REQ 消息则认为发生了MTC
冲突。

● 响应方两次收到 CHECK1 REQ 消息的最大时间间隔定义为 一 个冲突响应时间窗
T, 本

标准中 T=22 ms。

● 响应方检测到 MTC 冲突后,在冲突响应时间窗中,以 t₁
为冲突响应时间间隔(t₁ 最 大 为

4 ms)。t₁ 被划分为1个或多个响应时隙(每个时隙400μs)。 冲突响应方在t₁
时间内随机 选择 一个时隙发送冲突响应消息。冲突检测处理时序如图30所示。

● 冲突响应消息发送频点和地址由 CHECK1 REQ 消息中的CDC 字段决定。

style="width:10.33334in;height:3.49338in" />

图30 冲突检测处理时序

GB/T 33736—2017

处理流程:

冲突检测处理流程如图31所示。

style="width:10.17333in;height:7.76666in" />发起方

连接建立

冲突响应方

空闲状态

启动发送

CIIECK2 RCQ 消息

冲突检测

使能?

启动发送

CTECK1 RLQ

消息

收到

CTECK1 REO

消 息_ ?

选择发送时隙

接收t₂时间

CHECK RSP

消息

发送

CIIECK RSP

_

消息

重新开始计时

数据交换,或

链路维持

收到

CH消ECK息_RSP

发送

CLOSE RIQ

消息

数据交换,或

链路维持

发送成功?

冲 突 响 应 时

问 窗 超 时 ?

超出磁场

场 强 范

3 1 冲突检测处理流程

9.2.4.4 连接确认

连接确认各操作如下:

— 发起方操作:

● 如果冲突配置项为关闭,则发起方在整个交易阶段通过磁通道发送 CHECK2 REQ
连 接

确认请求。

—— 响应方操作:

● 如果响应方在交易阶段通过磁通道接收到 CHECK2 REQ 连接确认请求,则根据
TRI 是
否正确,相应地更新响应方的当前连接状态。该状态信息将在响应方下一条 RF
响应消息

中返回给发起方。

9.2.4.5 长时等待

长时等待各操作如下:

———发起方操作:

● 发起方在交易阶段等待响应方的 APDATA RSP
命令响应期间,如果接收到来自响应方 _

的正确的 LTW, 则继续等待500 ms, 直到接收到 APDATA RSP 或下 一 个 LTW,
或者接

收超时(>500 ms)。

● 发起方如果接收到错误的 LTW, 则返回激活阶段。

响应方操作:

● 响应方若不能在一个500 ms 时间内处理完成发起方的一个 APDATA REQ
中包含的命

GB/T 33736—2017

令请求,则应在500 ms 内通过 RF 通道向发起方发送一个LTW
长时等待消息,以通知发

起方再等待500 ms; 若响应方在下一个500 ms 内仍不能处理完成发起方的
APDATA

REQ 命令请求,则继续在每个500 ms 内发送一个LTW,
直到响应方处理完该交易后做出

APDATA RSP 响应为止。

● 响应方发送完LTW 之后,继续维持交易过程。

———处理流程:

长时等待处理流程如图32所示。

发起方

style="width:9.89328in;height:8.18004in" />发送

APDATA REQ

消息

响应方

接收

APDATA RFQ

消息

接收

APDATA RSP

/LTW

消息

收到消息?

转发APDU 到应用处理

500 ms内

收到消息

500 ms重新计时 LTW 消息?

否 连接断开

处理完成?

否 计时到 否

500 ms?

发送LTW 消息

转发APDU

到应用处理

发送

APDATA RSP

_

消息

500 ms重新计时一

3 2 长时等待处理流程

9.2.5 结束阶段

结束阶段各操作如下:

发 起 方 操 作 :

● 如果发生下列情况之一,发起方必须通过 RF 通道发出 CLOSE REQ
关闭连接请求:

a) 交易正常结束;

b) 响应方状态不正常,即接收到的响应消息中的状态字段值不是0x00;

c) 发 生 MTC 冲突,即接收到CHECK1 RSP。

● 发起方应当在 CLOSE REQ
请求中对于是否要求响应方做出回应给出明确的指示。

● 发起方如果要求响应方回应,则继续等待,直到接收到 CLOSE RSP 或 接 收
超 时 _

(>500 ms)之后才返回激活阶段;否则发起方在发送完 CLOSE REQ
后立即返回激活

阶段。

响应方操作:

GB/T 33736—2017

● 响应方在接收到第一个正确的CLOSE REQ 后,应当立即结束交易,并根据
CLOSE

REQ 中的指示来决定是否发送 CLOSE RSP 响应。

● 如果发起方要求回应,则响应方应当在500 ms 内发送完CLOSE RSP,
然后返回激活

阶段;否则响应方在接收到 CLOSE REQ 后立即返回激活阶段。

处理流程:

结束阶段处理流程如图33所示。

发起方 响应方

style="width:8.92662in;height:9.19996in" />结束阶段

结束阶段

500 ms超时?

发送

CLOSE REQ

消息

需要响应?

接收

CLOSE RSP

_

消息

收到

CI.OSI RSP

100 ms内收到

CLOSE REQ

消息?

需要响应?

发送

CLOSE RSP

消息

激活阶段

激活阶段

3 3 结束阶段处理流程

9.3 通信会话命令

9.3.1 命令集

会话命令通过发起方和响应方之间传递的消息来实现。表22为本标准定义的全部会话命令消息

集合。

表22 命令集

序号

命令分类

命令名称

命令功能

方向

信道

必选/可选

1

激活

INQUIRY

激活请求

发起方→响应方

MC

必选

ATI

激活响应

响应方→发起方

RC

GB/T 33736—2017

表22 (续)

序号

命令分类

命令名称

命令功能

方向

信道

必选/可选

2

连接

CONNECT REQ

连接请求

发起方→响应方

RC

必选

CONNECT RSP

连接响应

响应方→发起方

RC

3

数据交换

APDATA REQ

数据交换请求

发起方→响应方

RC

必选

APDATA RSP

数据交换响应

响应方→发起方

RC

4

维持连接

LINKCTL REQ

维持连接请求

发起方→响应方

RC

必选

LINKCTL RSP

维持连接响应

响应方→发起方

RC

5

冲突检测

CHECK1 REQ

冲突检测请求,用于冲突

检测和连接确认

发起方→响应方

MC

必选

CHECK1 RSP

冲突响应

响应方→发起方

RC

6

连接确认

CHECK2 REQ

_

连接确认请求,冲突检测

关闭时,用于连接确认

发起方→响应方

MC

必选

7

长时等待

LTW

响应方要求等待

响应方→发起方

RC

必选

8

关闭

CLOSE REQ

关闭连接请求

发起方→响应方

RC

必选

CLOSE RSP

关闭连接响应

响应方→发起方

RC

9.3.2 命令功能描述

9.3.2.1 激活命令

9.3.2.1.1 INQUIRY

命令功能:查询并激活响应方。

传输信道:发起方通过磁通道发送 INQUIRY

消息格式:SMF

消息内容:见表23

表23 INQUIRY 消息

INQUIRY消息头

字段

长度/位

注释

MsgCode

4

0

消息码

MsgLen

4

15

消息体字节长度

INQUIRY消息体

字段

长度/(位/字节)

注释

Rfu

4位

0000b

保留位

InitiatorVersion

4位

0011b

发起方协议版本号,本标准协议版本号为0x03

IDm

14字节

XX

发起方生成的随机数,用于计算ATI接入参数和后续会话

密钥

GB/T 33736—2017

9.3.2.1.2 ATI

命令功能:响应方对INQUIRY 的响应。

传输信道:响应方通过 RF 通道发送[频点=freq1(AID),地 址
=addrl(AID),freq1 和 addrl 的算

法定义见附录 B]。

消息格式:LMF

消息内容:见表24

表24 ATI 消息

ATI消息头

字段

长度/位

注释

Rfu

4

保留,缺省为0

FormatType

4

8

消息格式类型

Status

8

响应方当前状态

MsgCode

8

16

消息码

MsgLen

16

24

消息体字节长度

ATI消息体

字段

长度/字节

注释

IDs

5

XX

响应方产生的随机数,用于双方计算通信参数

TargetID

8

响应方唯一标识

AccessVersion

1

响应方选择的协议版本号:

响应方将INQUIRY中InitiatorVersion与自身协议版本比 较,将双方同时支持的最高协议版本号通过AccessVersion

返回给发起方

MacData

4

响应方使用KO作为密钥对(IDs |ITargetID | |AccessVer- sion)进行MAC计算得到MacData。16字节K0使用

SKGO中同样的扩展方式由14字节IDm扩展生成。

MAC算法见附录C.5

Reserved

6

0

保留,缺省为0

ATI消息校验

字段

长度/字节

注释

CheckSum

2

校验值

9.3.2.2 建立连接命令

9.3.2.2.1 CONNECT REQ

命令功能:发起方连接请求。发起方在发送 CONNECT REQ
消息之前,应首先验证 ATI 中 的

Mac 是否正确。发起方应在 CONNECT REQ
消息中指明本次连接中所希望采用的链路安全机制,包

括使用的根密钥、会话密钥生成方式,以及加密算法等。

GB/T 33736—2017

传输信道:发起方通过 RF 通道发送[频点=freq1(IDs),地 址
=addr2(IDs),freq1 和 addr2 的算法

定义见附录 B]。

消息格式:LMF

消息内容:见表25

表25 CONNECT REQ 消息

CONNECT REQ消息头

字段

长度/位

注释

Rfu

4

保留,缺省为0

FormatType

4

8

消息格式类型

Status

8

发起方当前状态

MsgCode

8

17

消息码

MsgLen

16

24

消息体长度

CONNECT REQ消息体

字段

长度/字节

注释

InitiatorType

1

发起方类型:

"A":近距离(10cm)

其他:保留

InitiatorID

8

发起方唯一标识

RootKeylndex

1

链路APDU数据加密根密钥索引号:

RootKeylndex值表示所选择的根密钥索引号,可支持最多

256组根密钥。

0:表示选择用IDm作为动态根密钥KO的有效密钥位,

IDm经位扩展后得到16字节K0;

1:表示选择第1组预置根密钥;

2:表示选择第2组预置根密钥;

255:表示选择第255组预置根密钥

SessionKey

1

发起方支持的会话密钥生成方式:

每个Bit代表一种会话密钥生成方式,0表示不支持该方 式,1表示支持该方式,最少应支持1种会话密钥生成方

式,最多可支持8种会话密钥生成方式。

SessionKey定义见表26,其中缺省的会话密钥生成方式

SKO见附录C. 1

EncAlg

2

发起方支持的链路加密算法模式:

每个Bit代表一种链路加密算法模式,0表示不支持该算法 模式,1表示支持该算法模式,最少应支持1种加密算法模

式,最多可支持16种加密算法模式。

EncAlg定义见表27,其中缺省的ALGO算法模式参见附

录C.4

MDInfo

5

发起方设备信息,由厂商自定义

GB/T 33736—2017

2 5 ( )

CONNECT REQ消息体

字段

长度/字节

注释

Reserved

6

0

保留,缺省为0

CONNECT REQ消息校验

字段

长度(字节)

注释

CheckSum

2

校验值

表26 SessionKey: 会话密钥生成方式

密钥生成方式

说明

b7

SKG7

0

保留,缺省为0

b6

SKG6

0

保留,缺省为0

b5

SKG5

0

保留,缺省为0

b4

SKG4

0

保留,缺省为0

b3

SKG3

0

保留,缺省为0

b2

SKG2

0

保留,缺省为0

bl

SKG1

0

保留,缺省为0

bo

SKG0

1

表27 EncAlg: 链路加密算法

链路加密算法模式

说明

b15

0

保留,缺省为0

……

0

保留,缺省为0

b5

SM4-CBC

0/1

b4

SM4-ECB

0/1

b3

AES-CBC

0/1

b2

AES-ECB

0/1

b1

3DES-CBC

0/1

b0

3DES-ECB

0/1

9.3.2.2.2 CONNECT RSP

_

命令功能:响应方连接确认。响应方应在 CONNECT RSP
消息中确认本次连接中的链路安全机

制,包括根密钥使用、会话密钥生成方式以及加密算法的选择等。

传输信道:响应方通过RF 通道发送[频点=freq1(IDs),地 址
=addr2(IDs),freq1和 addr2 的算法

定义见附录 B]。

消息格式:LMF

GB/T 33736—2017

消息内容:见表28

表28 CONNECT RSP 消息

CONNECT RSP消息头

字段

长度/位

注释

Rfu

4

保留,缺省为0

FormatType

4

8

消息格式类型

Status

8

响应方当前状态

MsgCode

8

18

消息码

MsgLen

16

24

消息体长度

CONNECT RSP消息体

字段

长度/字节

注释

Result

1

Result值定义如下:

● 0x00:连接成功,响应方继续等待下一步APDU指令或 维持连接指令。

● 0x01:连接失败,响应方断开连接

RootKeyIndex

1

根密钥索引号:

●响应方确认使用的根密钥索引号,最多支持256组根 密 钥 ;

● 编码格式及定义同CONNECT REQ消息相应字段;

● 如果发起方选择使用动态根密钥K0,则响应方CON- NECT RSP中的RootKeyIndex值返回0;

● 如果发起方选择使用预置根密钥K,(i≠0),且响应方 支持发起方所选择的预置根密钥K;(i≠0),则响应方 RootKeylndex返回密钥K,对应的索引值i;

● 如果发起方选择使用预置根密钥K,(i≠0),但响应方 不支持发起方所选择的预置根密钥K;(i≠0),则响应 方RootKeyIndex值返回0

SessionKey

1

响应方确认的会话密钥生成方式:

● 每个Bit代表一种会话密钥生成方式,0表示不支持该 方式,1表示支持该方式,最多支持8种会话密钥生成 方 式 ;

●编码格式及定义同CONNECT REQ消息相应字段;

● 响应方在双方都支持的会话密钥生成方式中选择1个 会话密钥生成方式,置位后返回给发起方。若双方同 时支持的会话密钥生成方式有多个,则缺省情况下选 择其中最高位所代表的会话密钥生成方式

GB/T 33736—2017

2 8 ( )

CONNECT RSP消息体

字段

长度/字节

注释

EncAlg

2

响应方确认的链路加密算法模式:

● 每个Bit代表一种链路加密算法模式,0表示不支持该 算法模式,1表示支持该算法模式,最多支持16种加密 算法模式;

● 编码格式及定义同CONNECT REQ消息相应字段;

● 响应方在双方都支持的加密算法模式中选择1个加密 算法模式,置位后返回给发起方。若双方同时支持的 加密算法模式有多个,则缺省情况下选择其中最高位 所代表的加密算法模式

SDInfo

5

响应方信息,厂商自定义

SDRand

8

响应方生成的随机数,用于计算会话密钥

Reserved

6

缺省为0

保留,缺省为0

CONNECT RSP消息校验

字段

长度/字节

注释

CheckSum

2

校验值

9.3.2.3 数据交换命令

9.3.2.3.1 APDATA REQ

命令功能:发起方传递的应用层数据、命令。

传输信道:发起方通过 RF 通道发送[频点=freq1(IDs), 地 址
=addr2(IDs)freq1 和 addr2 的算法

定义见附录 B]。

消息格式:LMF

消息内容:见表29

表29 APDATA REQ 消息

APDATA REQ消息头

字段

长度/位

注释

Rfu

4

保留,缺省为0

FormatType

4

8

消息格式类型

Status

8

发起方当前状态

MsgCode

8

19

消息码

MsgLen

16

M

消息体字节长度M(0≤M≤288)

GB/T 33736—2017

表29 (续)

APDATA REQ消息体

字段

长度/字节

注释

EncPayload

M

XX

对明文数据(长度为N,0≤N≤286)加密后得到的密文数

据块,长度为M:

若(N+2)为8的整数倍,则M=N+2;

若(N+2)不为8的整数倍,则M=[(N+2)/8]×8+8

APDATA REQ消息校验

字段

长度/字节

注释

CheckSum

2

校验值

9.3.2.3.2 APDATA RSP

命令功能:响应方对 APDATA REQ 的响应。

传输信道:响应方通过 RF 通道发送[频点=freq1(IDs),地 址
=addr2(IDs),freq1 和 addr2 的算法

定义见附录B]

消息格式:LMF

消息内容:见表30

表30 APDATA RSP 消息

APDATA RSP消息头

字段

长度/位

注释

Rfu

4

保留,缺省为0

FormatType

4

8

消息格式类型

Status

8

响应方当前状态

MsgCode

8

20

消息码

MsgLen

16

M

消息体字节长度M(O≤M≤288)

APDATA RSP消息体

字段

长度/字节

注释

EncPayload

M

XX

对明文数据(长度为N,0≤N≤286)加密后得到的密文数

据块,长度为M:

若(N+2)为8的整数倍,则M=N+2;

若(N+2)不为8的整数倍,则M=[(N+2)/8]×8+8

APDATA RSP消息校验

字段

长度/字节

注释

CheckSum

2

校验值

9.3.2.4 维持连接命令

9.3.2.4.1 LINKCTL REQ

命令功能:发起方的链路维持请求。用于在链路空闲的状态下发起方与响应方进行连接状态的

确认。

GB/T 33736—2017

传输信道:发起方通过 RF 通道发送[频点=freq1(IDs),地 址
=addr2(IDs),freq1和 addr2 的算法

定义见附录 B]。

消息格式:LMF

消息内容:见表31

3 1 LINKCTL REQ 消息

LINKCTL REQ消息头

字段

长度/位

注释

Rfu

4

保留,缺省为0

FormatType

4

8

消息格式类型

Status

8

发起方当前状态

MsgCode

8

22

消息码

MsgLen

16

2

消息体字节长度

LINKCTL REQ消息体

字段

长度/字节

注释

RandData

1

XX

随机数

Reserved

1

保留,缺省为0

LINKCTL REQ消息校验

字段

长度/字节

注释

CheckSum

2

校验值

9.3.2.4.2 LINKCTL RSP

命令功能:响应方对发起方 LINKCTL REQ 命令的响应。

传输信道:响应方通过 RF 通道发送[频点=freq1(IDs),地 址
=addr2(IDs),freq1和 addr2 的算法

定义见附录 B]。

消息格式:LMF

消息内容:见表32

表32 LINKCTL RSP 消息

LINKCTL RSP消息头

字段

长度/位

注释

Rfu

4

保留,缺省为0

FormatType

4

8

消息格式类型

Status

8

响应方当前状态

MsgCode

8

23

消息码

MsgLen

16

2

消息体字节长度

GB/T 33736—2017

表32 (续)

LINKCTL RSP消息体

字段

长度/字节

注释

RandData

1

XX

随机数

Reserved

1

保留,缺省为0

LINKCTL RSP消息校验

字段

长度/字节

注释

CheckSum

2

校验值

9.3.2.5 冲突检测命令

9.3.2.5.1 CHECK1 REQ

命令功能:冲突检测。

传输信道:发起方通过磁通道发送CHECK1 REQ 消息。

消息格式:SMF

消息内容:见表33

表33 CHECK1 REQ 消息

CHECK1 REQ消息头

字段

长度/位

注释

MsgCode

4

2

消息码

MsgLen

4

2

消息体字节长度

CHECK1 REQ消息体

字段

长度/字节

注释

CDC

2

冲突检测码CDC:取当前响应方生成的随机数IDs的前 2字节。在冲突检测打开的情况下CDC同时作为TRI 使 用 。

响应方接收到CHECK1 REQ后,应当按照如下方式更新

自己的当前状态:

如果CDC/TRI与本地IDs前两个字节相同,则响应方认 为当前连接状态为正常(0x00);否则响应方认为当前连接

状态为异常(0x01)

9.3.2.5.2 CHECK1 RSP

命令功能:冲突响应。

传输信道:响应方通过 RF 通道发送[频点=freq2(CDC), 地 址
=addr1(CDC),freq2 和 addr1 的算

法定义见附录 B]。

消息格式:LMF

消息内容:见表34

GB/T 33736—2017

表34 CHECK1 RSP 消息

CHECK1 RSP消息头

字段

长度/位

注释

Rfu

4

保留,缺省为0

FormatType

4

8

消息格式类型

Status

8

响应方当前状态

MsgCode

8

24

消息码

MsgLen

16

16

消息体字节长度

CHECK1 RSP消息体

字段

长度/字节

注释

RandData

1

XX

随机数

TargetID

8

响应方标识

Reserved

7

保留,缺省为0

CHECK1 RSP消息校验

字段

长度/字节

注释

CheckSum

2

校验值

9.3.2.6 连接确认消息

命令功能:连接确认。如果当前冲突检测配置为关闭,则发起方在建立连接之后持续发送

CHECK2 REQ 消息。 CHECK2 REQ
消息无需响应,仅用于响应方判断当前连接状态是否正常。

传输信道:发起方通过磁通道发送 CHECK2 REQ 消息。

消息格式:SMF

消息内容:见表35

表35 CHECK2 REQ 消息

CHECK2 REQ消息头

字段

长度/位

注 释

MsgCode

4

3

消息码

MsgLen

4

2

消息体字节长度

CHECK2 REQ消息体

字段

长度/字节

注释

TRI

2

响应方随机标识码TRI:取当前响应方生成的随机数IDs

的前2字节。

响应方接收到CHECK2 REQ后,应当按照如下方式更新

自己的当前状态:

如果TRI与本地IDs前两个字节相同,则响应方认为当前 连接状态为正常(0x00);否则响应方认为当前连接状态为

异常(0x01)

GB/T 33736—2017

9.3.2.7 长时等待命令

命令功能:响应方发送给发起方的长时交易等待 LTW 消息。

传输信道:响应方通过 RF 通道发送[频点=freq1(IDs),地 址
=addr2(IDs),freql 和 addr2 的算法

定义见附录 B]。

消息格式:LMF

消息内容:见表36

表36 LTW 消息

LTW消息头

字段

长度/位

注释

Rfu

4

保留,缺省为0

FormatType

4

8

消息格式类型

Status

8

响应方当前状态

MsgCode

8

25

消息码

MsgLen

16

2

消息体字节长度

LTW消息体

字段

长度/字节

注释

RandData

1

XX

随机数

Reserved

1

保留,缺省为0

LTW消息校验

字段

长度/字节

注释

CheckSum

2

校验值

9.3.2.8 关闭连接命令

9.3.2.8.1 CLOSE REQ

命令功能:发起方断开与响应方的连接。

传输信道:发起方通过 RF 通道发送[频点=freq1(IDs),地 址
=addr2(IDs),freq1 和 addr2 的算法

定义见附录 B]。

消息格式:LMF

消息内容:见表37

表37 CLOSE REQ 消息

CLOSE REQ消息头

字段

长度/位

注释

Rfu

4

保留,缺省为0

GB/T 33736—2017

表37(续)

CLOSE REQ消息头

字段

长度/位

注释

FormatType

4

8

消息格式类型

Status

8

发起方当前状态

MsgCode

8

26

消息码

MsgLen

16

4

消息体字节长度

CLOSE REQ消息体

字段

长度/字节

注释

NeedResp

1

0/1

是否需要返回关闭连接确认

0:无需CLOSE RSP响应。

1:需要CLOSE RSP响应。

默认:0

Reserved

3

保留,缺省为0

CLOSE REQ消息校验

字段

长度/字节

注释

CheckSum

2

校验值

9.3.2.8.2 CLOSE RSP

_

命令功能:响应方对CLOSE REQ 的响应确认。只有发起方在 CLOSE REQ
中指明需要响应方

对关闭连接进行确认(NeedResp=1) 时,响应方才做CLOSE RSP
响应确认,否则响应方在关闭连接后

即结束,不做CLOSE RSP 响应。

传输信道:响应方通过 RF 通道发送[频点=freq1(IDs),地 址
=addr2(IDs),freq1 和 addr2 的算法

定义见附录 B]。

消息格式:LMF

消息内容:见表38

表38 CLOSE RSP 消息

CLOSE RSP消息头

字段

长度/位

注释

Rfu

4

保留,缺省为0

FormatType

4

8

消息格式类型

Status

8

响应方当前状态

MsgCode

8

27

消息码

MsgLen

16

4

消息体字节长度

GB/T 33736—2017

3 8 ( 续 )

CLOSE RSP消息体

字段

长度/字节

注释

CloseResult

1

0/1

关闭结果:

0:响应方关闭成功。

1:响应方关闭失败

Reserved

3

保留,缺省为0

CLOSE RSP消息校验

字段

长度/字节

注释

CheckSum

2

校验值

style="width:8.29335in;height:4.31332in" />style="width:4.70663in;height:2.42in" />style="width:4.73322in;height:2.35994in" />

GB/T 33736—2017

A

(资料性附录)

磁通道通信原理说明

磁场强度变化率调制如图 A.1
所示,符号“1”的场强变化率与符号“0”的场强变化率应为相反关
系,且变化率大小相等并保持恒定。磁通道数据编码符号率为4 kS/s,
每个符号周期为250 μs,Hp 为
发起方磁场信号强度峰值。磁通道信号符号的极性只与磁场强度变化率的方向有关,而与磁场强度变
化率的大小无关。磁场强度变化率的大小决定了磁场强度的峰值,磁场强度峰值的规范要求用于距离

控制。

A.1 磁场强度变化率调制

磁通道数据编码采用差分曼特斯特编码(DME), 如图 A.2
所示。每个数据位由2个符号组成的序
列表示,每个数据位的符号序列应为“10”或"01"。数据位“1"的符号序列与前一个数据位的符号序列相

反,数据位"0"的符号序列与前一个数据位的符号序列相同。

style="width:4.66666in;height:2.36676in" />

style="width:4.54662in;height:2.36676in" />

A.2 差分曼彻斯特编码

style="width:4.18003in;height:3.42672in" />style="width:3.53339in;height:3.12664in" />

GB/T 33736—2017

磁通道调制解调及编解码原理如图 A.3
所示,发起方根据上述编码和调制原理,将磁通道数据转
换为磁场强度变化率调制信号。响应方通过磁感应线圈感应得到解调耦合电压信号,电压信号与磁场

信号的关系见式(A.1):

style="width:7.00668in;height:0.61336in" /> … … … … … …(A. 1)

式中:

V — 响应方耦合电压;

N — 响应方耦合线圈匝数;

— 响应方耦合想起面积;

style="width:0.9333in;height:0.55294in" />磁场强度的变化率;

μo— 空气中磁导率。

响应方从电压信号中得到磁通道信号符号序列,再根据差分曼彻斯特编码机制解码得到磁通道数

据。从图 A.3
中所列的两种情况可以看出,无论响应方采用正向耦合方式或是反向耦合方式,最终都

能得到正确的解码数据结果。

发起方

响应方

数 据

编 码

符号

磁场强度

变化率调制

解调耦合

电压信号

符 号

解码 1 0 0 1 1 0 1 0 0 1

数据 参考 工 1 0 1

响应方正向耦合

style="width:4.84665in;height:3.38008in" />数 据

编码

符号

磁场强度

变化率调制

解调耦合

电压信号

符号

解 码

数据

响应方反向耦合

图 A.3 磁通道调制解调及编解码原理

GB/T 33736—2017

B

(规范性附录)

RF 通信参数计算

B.1 RF 频点计算方法

RF 频点计算方法如下:

以 N 为模对输入X 进行求余运算,即 (X)Mod N,其中N 是 RF
射频频率表支持的最大频点数

目,X 为不小于2字节的数据串。

计算得到的余数与频点的对应关系如表B.1~表 B.3 所示。

B.1 余数与频点的对应关系

频点序号

Ch

Ch2

Ch₃

……

Chy-1

Chy

余数

0

1

2

N-2

N-1

B.2 工作频点表

频点序号

Ch

Ch₂

Ch₃

……

Ch3

Ch

频率(MHz)

2401

2402

2403

… …

2463

2464

B.3 冲突响应频点表

频点序号

Ch

Ch2

Ch₃

Ch;

频率(MHz)

2465

2466

2467

2468

freq1 算法描述:

用途:用于计算工作频点。

计算方法:

1) X 为不小于2字节的数据串,取X 前2字节,记为 X2;

2) freq1(X)=(X2)Mod N,N=64;

3) 用 freql(X) 作为索引查表 B.2所示工作频点表,得到工作频点。
计算示例:

假设数据串 X:0x30110x39 \|10x23 \| \|0xa5, 其中" \| 目"表示"拼接"。

则 X2=0x30 \|10x39=12345

freq1(X)=(X2)Mod
N=(12345)Mod64=57,根据余数与频点对应关系,余数57对应频点

Chs, 查表 B.2,Ch 频率值为2458 MHz。

freq2 算法描述:

用途:用于计算冲突响应(CHECK1 RSP) 频点。

计算方法:

GB/T 33736—2017

1) X 为不小于2字节的数据串,取X 前2字节,记为 X2;

2) freq2(X)=(X2)Mod N,N=4;

3) 用 freq2(X) 作为索引查表B.3 所示冲突响应频点表,得到冲突响应频点。
计算示例:

假设数据串 X:0x30110x39 \|10x23 \| \|0xa5, 其中"目"表示"拼接"。

则 X2=0x301 \|0x39=12345

freq2=(X)Mod N=(12345)Mod4=1,根据余数与频点对应关系,余数1对应频点 Ch₂
, 查

表 B.3,Ch。 频率值为2466 MHz。

B.2 RF 通信地址计算方法

addr1 算法描述:

用途:用于计算激活响应(ATI) 和冲突响应(CHECK1 RSP)RF 通信地址。

计算方法:

addrl(X)=X[0] \| X[1] \| \| X[0] \|\| X[1] \|
\|0x00, 其中" \|"表示"拼接"。

其中 X 为2字节数据串。

说明:按照下列顺序将各字节组合成一个5字节的 RF 地址:X 第1字节、X
第2字节、X 第1字节的按位取反、X

第2字节的按位取反、最后一个字节补0。

通信 addr2算法描述:

用途:用于计算(除了 ATI 地址和CHECK1 RSP 地址之外的)其他所有 RF
通信地址。

计算方法:

addr2(X)=X[0] \| \| X[1] \| \|X[2] \| \| X[3] \|
\|X[4],其中" \|"表示"拼接"。

其中 X 为5字节数据串。

说明:按照下列顺序将 X 各字节组合成一个5字节的 RF 地址:X 第1字节、X
第2字节、X 第3字节、X 第 4 字

节、X 第5字节。

B.3 AID 计算方法

对于长度为n(2≤n≤14) 字节的IDm, 经过如下方式计算得到 AID:

1) 若 n≤8, 则在 IDm 后补0x00(n=8 时不用补0x00),补齐8字节,作为
Ka,K=Ka \| \| Ka (其 中Ka 表示对 Ka
的按位取反);若8\<n≤14, 则直接在 IDm 后补0x00,补齐16字节,作为 K。

2) 计算3DES[K,IDm] (见附录C.3,若 n\<8, 则在 IDm 后 补
0x00,补齐8字节作为被加密明 文;若 IDm 长度 n≥8, 则取IDm
前8字节作为被加密明文),得到8字节密文数据。

3) 取8字节密文数据前2字节,作为"AID"。

GB/T 33736—2017

C

(规范性附录)

密码相关算法定义

C.1 会话密钥产生方法

第一步:计算主密钥 K: 如果使用预置根密钥(即,CONNECT RSP 中确认的
RootKeyIndex 值不

为0),则16字节主密钥 K=K。④K;,(i≠0); 如果不使用预置根密钥(即,CONNECT
RSP 中确认的

RootKeyIndex 值为0),则16字节主密钥K=K。; 其中,16字节 K。 由 1 4 字 节
IDm (随机数)通过如图

C.1 所 示 方 式 扩 展 生 成 :

style="width:11.56042in;height:4.15347in" />

16字节主密钥

C.1 IDm 扩展生成 K。 的方式

第二步:以响应方产生的8字节随机数 SDRand 为分散参数 X, 按 照C.2
所定义的"子密钥分散算

法"对第一步中计算得到的主密钥K 进行密钥分散,得到16字节子密钥K、。

第三步:使用K, 作为会话密钥。

C.2 子密钥分散算法

子密钥分散算法如图C.2 所示。

分散参数 X 不足8字节,则先右补0x80,如不足8字节则补0x00 至8字节。

分散参数 X 超过8字节,则取最右8字节。

GB/T 33736—2017

style="width:8.11997in;height:6.76676in" />主密钥左半 部分 (KL)

主密钥右半 部分 (KR)

主密钥左半 部分 (KL)

分散参数Y

DES

(加密)

DCS

(加密)

DES

(加密)

子密钥左半部分

分散参数X求反

DES

(加密)

DCS

(加密)

DES

(加密)

子密钥右半部分

主密钥左半

部分 (KL)

主密钥右半

部分 (KR)

主密钥左半

部分 (KL)

连接操作

16字节子密钥

C.2 子密钥分散算法

C.3 3DES 加解密算法

3DES 加解密算法定义如下:

密钥长度为16字节[K=(KL \| \|KR)], 数据分组长度为8字节。

对于每个数据分组的加密算法如下:

Y=3DES[K,X]=DES(KL)[DES¹(KR)[DES(KL)[X]]]

解密算法如下:

Y=3DES-'[K,X]=DES- ¹(KL)[DES(KR)[DES-'(KL)[X]]]

每个分组的加解密过程如图 C.3 所示:

对于多个分组的加/解密过程,只需要将所有加/解密后的数据块依照原顺序连接在一起。

GB/T 33736—2017

style="width:2.97329in;height:4.9467in" />KI.

KR

KL

style="width:3.08011in;height:4.91326in" />Y Y

DES

(解密)

DES

(加密)

DES

(解密)

Y X

3DFS 加密 3DES 解密

K1.

KR

KL

C.3 3DES

C.4

对应用层数据报文 Payload采用ECB 模式的对称密码算法进行加解密。

按照如下步骤对数据报文进行加密:

第一步:用PLen(2 字节)表示明文数据的字节长度,在明文数据前加上 PLen,
产生新的数据块。

第二步:将该数据块分成以分组长度8字节为单位的数据块,表示为块1、块2、
…块 n。

第三步:如果最后(或唯一)的数据块的长度是分组长度,转到第四步;如果不足分组长度,则在其后
加入16进制数“80”,如果达到分组长度,则转到第四步,否则在其后加入16进制数"00"直到长度达到

分组长度。

第四步:按照图 C.4 所述的算法使用加密密钥对每一个数据块进行加密。

第五步:计算结束后,所有加密后的数据块依照原顺序连接在一起。

style="width:7.70694in;height:2.92708in" />

C.4

按照如下步骤对数据进行解密:

第一步:将该数据块分成以分组长度8字节为单位的数据块,表示为块1、块2、
…块 n。

第 二 步 : 按 照 图 C.5 所 述 的 算 法 使 用 解 密 密 钥 对 每 一 个
数 据 块 进 行 解 密 。

GB/T 33736—2017

第三步:计算结束后,所有解密后的数据块依照原顺序连接在一起。

第四步:前2个字节为 PLen, 从第3字节起,取前PLen 字节数据作为明文输出。

style="width:7.66736in;height:2.98889in" />

C.5

C.5 MAC

MAC 的产生使用以下算法:

第一步:将一个8个字节长的初始值(Initial Vector)设定为16进制的"0x
00000000000000

00"。

第二步:将所有的输入数据按指定顺序连接成一个数据块。

第三步:将连接成的数据块分割为8字节长的数据块组,标识为D1,D2,D3,D4
等。分割到最后,

余下的字节组成一个长度小于或等于8字节的最后一块数据块。

第四步:如果最后一个数据块长度为8字节,则在此数据块后附加一个8字节长的数据块,附加的
数据块为:16进制的“0x 8000000000000000”。
如果最后一个数据块长度小于8字节,则该数据块
的最后填补一个值为16进制“0x80”的字节。如果填补之后的数据块长度等于8字节,则跳至第五步。
如果填补之后的数据块长度仍小于8字节,则在数据块后填补16进制"0x00"的字节至数据块长度为

8字节。

第五步:MAC 的产生是通过上述方法产生的数据块组,由 KO
进行加密运算,加密算法 DEA 使用

DES。MAC 算 法 如 图C.6 所 示 。

style="width:3.09333in" />

33736—2017

style="width:8.60694in;height:4.44028in" />

说明:

I= 输入

DEA(e)= 数据加密算法(加密模式) DEA(d)= 数据加密算法(解密模式)

D= 数据块

第六步:最终值的左4字节为 MAC。

O= 输出

KML/R=MAC 过程密钥左/右半部分

④=异或运算

C.6 MAC

延伸阅读

更多内容 可以 GB-T 33736-2017 手机支付 基于2.45GHz RCC 限域通信 技术的非接触射频接口技术要求. 进一步学习

联系我们

DB50-T 1363-2023 水质 四环素类抗生素的测定 液相色谱—串联质谱法 重庆市.pdf